// 引入设置好的axios
import http from "@/utils/http.js";

/** 用户发布菜谱
 * 获取用户发布菜谱，可以做筛选 接口文档第10个
 * @param {object} [params] --可选，不填写时，获取所有菜谱
 * @param {string} [params.userId] 指定用户菜谱
 * @param {string} [params.classify] 按照菜谱分类，进行筛选
 * @param {string} [params.property] 按照菜谱属性，进行筛选
 * @param {string} [params.property.craft] 按照工艺，进行筛选
 * @param {string} [params.property.flavor] 按照口味，进行筛选
 * @param {string} [params.property.hard] 按照难度，进行筛选
 * @param {string} [params.property.people] 按照人数，进行筛选
 * @param {string} [params.page] 指定页码
 * @returns 
 */
export async function getMenus(params) {
  // 返回数据
  return await http.get('/menu/query', { params });
}

/** 所有菜谱分类
 * 获取所有菜谱分类
 * @returns 
 */
export async function getClassify() {
  return await http.get('/menu/classify');
}

/** 所有属性分类
 * 获取所有属性分类
 * @returns 
 */
export async function getProperty() {
  return await http.get('/menu/property');
}

/** 发布菜谱
 * 发布菜谱，参数请参照backData结构
 */
export async function publish(params) {
  return await http.post('menu/publish', params)
}

/** 根据菜单id，拿到菜谱的详细信息
 * 根据菜单id，拿到菜谱的详细信息
 * @export
 * @param {Object} [params] - 
 * @param {string} [params.menuId] - 指定菜单的id
 * @returns
 */
export async function getMenuInfo(params) {
  return await http.get('/menu/menuInfo', { params });
}

/** 切换收藏 
 * toggle 收藏。收藏的取消收藏；没收藏的，要收藏。
 * @export
 * @param {Object} [params] - 
 * @param {string} [params.menuId] - 菜谱的id
 * @returns
 */
export async function toggleCollection(params) {
  return await http.post('/user/collection', params);
}

/** 获取指定菜谱的评论
 * 获取菜谱评论信息
 * @export
 * @param {Object} [params] - 
 * @param {string} [params.menuId] - 指定菜谱的id
 * @returns
 */
export async function getComments(params) {
  return await http.get('/menu/comment', { params });
}

/** 添加指定菜谱的评论
 * 添加指定菜谱的评论
 * @export
 * @param {Object} [params] - 
 * @param {string} [params.menuId] - 指定评论的菜谱id
 * @param {string} [params.commentText] - 评论内容
 * @returns
 */
export async function addComment(params) {
  return await http.post('/menu/comment', { ...params });
}